زمانی که به یک توسعهدهندهی نرمافزار نیاز دارید، یکی از بهترین راهحلها، کار کردن با مهندسان خارج از شرکت است. بااینحال پیدا کردن یک شریک متخصص، همیشه کار آسانی نیست.
فرض کنید میخواهید اپلیکیشن شرکتتان را بهروزرسانی کنید. شاید داستان موفقیت اسکایپ که نسخهی بتای خود را با کمک سه دولوپر کشور استونی توسعه داد یا اسلک که اپلیکیشن، وبسایت و حتی لوگوی خود را برونسپاری کرد، مثالهای خوبی برای قانع کردن شما باشند. یا ممکن است تحت شرایطی قرار داشته باشید که توانایی مالی استخدامدائم یک برنامهنویس را نداشته باشید. درهرصورت بنا به هر نیازی که دارید، اگر میخواهید برای توسعهی نرمافزارتان از متخصصین خارج از شرکت کمک بگیرید، به این نکات توجه کنید:
شرایط جغرافیایی را در نظر بگیرید
پیش از اینکه به دنبال شریکی برای برونسپاری وظایف بگردید، با مشخص کردن محدودهی جغرافیایی، کار خودتان را سادهتر کنید. امروزه دولوپرهای ماهر و مجرب زیادی در مناطق مختلف وجود دارند که با شرکتهای مختلف همکاری میکنند. بااینحال ازآنجاکه ارتباطات موفق نقش مهمی در کیفیت محصول نهایی خواهد داشت، بهتر است از افرادی کمک بگیرید که در منطقهای زندگی میکنند که فرهنگ و شرایط حرفهای مشابهی با شما دارند.
در مورد کیفیت و قیمت تصمیمگیری کنید
ضربالمثلی هست که میگوید شما نمیتوانید هم کیک را بخورید و هم آن را نگهدارید (نمیتوانید همهچیز را باهم داشته باشید). این گفته در مورد برونسپاری نرمافزار هم صدق میکند. گرچه در این زمینه قیمت و کیفیت همیشه پایاپای یکدیگر مهم بودهاند؛ ولی اغلب توسعهدهندگان آزاد نرمافزار به دو گروه تقسیم میشوند: گروهی که قیمت مناسب را به شما پیشنهاد میدهند و گروهی که روی کیفیت بالا تأکید دارند. بنابراین شما باید تصمیم بگیرید که کدامیک از این دو فاکتور برایتان اولویت دارد.
فروشندههایی که به قیمت اولویت میدهند، معمولاً بهایی ثابت و بدون تغییر برای پروژهی شما مشخص میکنند و روی معامله متمرکز هستند، نه روابط بلندمدت با مشتری. تخصص آنها در یافتن و توسعهی سریع منابع (با نظارتی کم) برای مشتری است.
مایک اسویستان، مدیر توسعهی تجاری شرکت Vertalab، در وبسایت مدیوم توضیح میدهد که راهکارهای مبتنی بر قیمت، برای محصولات کماهمیت یا محصولاتی که حوزهی فعالیت محدودی دارند مناسبترند. به عقیدهی او، این راهکارها نمیتوانند پاسخگوی استارتاپهایی باشند که فونداسیون قوی و خوبی دارند.
از سوی دیگر، فروشندگانی که روی کیفیت متمرکز هستند، هزینهی بالاتری پیشنهاد میدهند و البته در مورد پروژههایی که میپذیرند، گزینشیتر عمل میکنند. بااینحال، آنها گزینهی بهتری برای پروژههای پیچیده و مهم به شمار میروند؛ زیرا این افراد معمولاً طبق مدل زمان- متریال کار میکنند، به دنبال روابطی طولانیمدت هستند و قیمتهای ثابت را رد میکنند.
بهطور مشابه، فروشندگانی که کیفیت برای آنها اولویت دارد برای یافتن بهترین منابع و آموزش تیم خود بیشتر تلاش میکنند و با یکی از کارمندان ارشد شرکت شما دائماً در تماساند تا از تحویل و اجرای مناسب خدمات اطمینان حاصل کنند.
کاندیداهای خود را آزمایش کنید
توسعهدهندگان نرمافزار، هرکدام نقاط قوت منحصربهفرد و ایرادهای خاصی دارند. بااینوجود، سؤالهای مشخصی وجود دارد که میتوانید در مکالمات تلفنی اولیه آنها را مطرح کنید و مطمئن شوید که شریک بالقوه شما، ازلحاظ فرهنگی، فلسفی و اصول و قواعد، گزینهی مناسبی برای شرکت و پروژهی شما است. برخی از این سؤالها عبارتاند از:
۱- «روش شما برای توسعهی نرمافزار چیست؟» به کلماتی نظیر SCUM، MVP، اسپرینتهای کوتاه، تکرار سریع، ارتباط مداوم و هر چیز دیگری که برایتان اهمیت دارد، دقت کنید.
۲- «خلاصهای از تجربیات قبلیتان در پروژههای نرمافزاری سایر شرکتهای مشابه با ما را شرح دهید.» سعی کنید متوجه شوید که توسعهدهنده مذکور، در گذشته با چه نوع مشتریانی کار کرده است و خدماتش تا چه میزان ارزشمند و تأثیرگذار بودهاند. حداقل دو یا سه تجربهی او را پیگیری کنید و هرگز این ریسک را نپذیرید که اولین مشتری یک فروشنده باشید.
۳- «مهمترین ریسکهای روابط برونسپاری نرمافزار چه مواردی هستند و شما چطور آنها را مدیریت میکنید؟» سعی کنید ایدهای در مورد تجربهی واقعی برونسپاری این فرد به دست بیاورید و همزمان توجه کنید که مهمترین اولویت او در پروژه چیست.
۴- «نقاط قوت شما در مقایسه با رقبایتان چیست؟» دقت کنید که او روی چه نکاتی بیشتر تأکید دارد و به راهکارهای خاصی که بیان میکند، توجه کنید.
در صورت امکان، شریکتان را بهصورت حضوری ملاقات کنید
بسته به اینکه متخصص همکارتان در چه منطقهای ساکن است، شاید دیدار حضوری با او امکانپذیر باشد یا نباشد؛ بااینحال ملاقات رودررو، روشی فوقالعاده برای پی بردن به خصوصیات و بررسی دقیق سبککاری او است. مارک کوبایاشی هیلاری در مقالهای که در Computer Weekly منتشر شده، توضیح داده است که روال عادی توسعهی نرمافزار در هر سازمان خدماتی حرفهای، بهخوبی هماهنگ و تنظیمشده است. بنابراین در پروسهی جستجوی از راه دور، بهاحتمال زیاد شما آن چیزی را میبینید که شریکتان میخواهد. اما یک ملاقات شخصی کار را برای صحنهسازی بسیار سختتر میکند و وضعیت واقعی شریک کاریتان را به شما نشان میدهد. کوبایاشی مینویسد:
اگر درخواستها و پیشنهادات زیادی دریافت کردهاید که همهی آنها رزومهی قابل قبولی دارند و راهکاری ارائه میدهند که ظاهراً نیازهای شما را برطرف میکند، با ملاقات حضوری میتوانید به نقاط قوت و ضعف واقعی آنها پی ببرید.
بهعلاوه اگر میخواهید برای ملاقات با شریک بالقوهی خود مسافرت کنید؛ نیازی نیست این سفر طولانیمدت باشد. شما در مدت یکی دو روز میتوانید ذهنیتی مناسب از مکان، سطح انگیزهی کلی تیم، تعهد تیم مدیریت و سطح کار حرفهای آنها به دست آورید.
تصمیم بگیرید و ارتباطتان را آغاز کنید
اینکه توافق و مذاکرهها صورت گرفته است و شما آمادهی شروع همکاری با متخصص نرمافزاری منتخبتان هستید، به این معنی نیست که پروسه به پایان رسیده است. شریکتان با همان فشارهایی مواجه است که شما نیز در زوایایی دیگر، با آنها روبرو بودید: یافتن و استخدام استعداد خوب کار سختی است. به یاد داشته باشید که شریکتان برای تشکیل یک تیم خوب، به زمان نیاز دارد.
درنهایت وقتی از راه دور با تیمی کار میکنید، ممکن است در برقراری ارتباط با مشکلاتی مواجه شوید. اما مایک گالارزا، مدیر بانکداری ابری و پلتفرم مالی Entryless، در مصاحبهای یادآوری میکند که استفاده از ابزارهایی نظیر آسانا، اسکایپ و گیتهاب برقراری ارتباط را در پروژههای برونسپاری نرمافزار تسهیل کند. همانطور که او میگوید، زمانی که شرکای کاری از هم دور هستند و بهطور فیزیکی کنار هم حضور ندارند، ارتباط فعال و پویا اهمیت بیشتری پیدا میکند.
شمیم محمد، مدیر ارشد فناوری اطلاعات شرکت کارماکس نیز به نکتهی مهم دیگری اشاره میکند. او در وبسایت CIO.com مینویسد:
وقتی در حال مدیریت ضربالاجلها و پروژهها هستید، چالشهای بالقوهی منابع و تکنولوژی را در نظر داشته باشید. اطمینان حاصل کنید که وقت کافی به حوادث و اتفاقات غیر مترقبه و برنامهریزی نشده اختصاص دادهاید. بسیاری از شرکتها برنامهی کاملاً خوشبینانه و سادهای برای پروژههایشان تنظیم میکنند و اصلاً موارد غیر قابل انتظار را - که به ناگزیر رخ میدهند - در طرح خود پیشبینی نمیکنند.
.: Weblog Themes By Pichak :.